package de.akabahn.ebd.anlage;

import java.io.Serializable;

/**
 * A Signal on the Anlage.
 *
 * @author moschlar
 */
public class Signal implements Serializable {

    private String name;
    private Betriebsstelle betriebsstelle;
    private Abschnitt abschnitt;
    private HaltAbschnitt haltabschnitt;
    private HaltAbschnitt halteplatzabschnitt;

    public Signal() {}

    public Signal(String name, Betriebsstelle betriebsstelle, Abschnitt abschnitt, HaltAbschnitt haltabschnitt, HaltAbschnitt halteplatzabschnitt) {
        this.name = name;
        this.betriebsstelle = betriebsstelle;
        this.abschnitt = abschnitt;
        this.haltabschnitt = haltabschnitt;
        this.halteplatzabschnitt = halteplatzabschnitt;
    }

    // <editor-fold defaultstate="collapsed" desc="Getter/Setter">
    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Betriebsstelle getBetriebsstelle() {
        return betriebsstelle;
    }

    public void setBetriebsstelle(Betriebsstelle betriebsstelle) {
        this.betriebsstelle = betriebsstelle;
    }

    public Abschnitt getAbschnitt() {
        return abschnitt;
    }

    public void setAbschnitt(Abschnitt abschnitt) {
        this.abschnitt = abschnitt;
    }

    public HaltAbschnitt getHaltabschnitt() {
        return haltabschnitt;
    }

    public void setHaltabschnitt(HaltAbschnitt haltabschnitt) {
        this.haltabschnitt = haltabschnitt;
    }

    public HaltAbschnitt getHalteplatzabschnitt() {
        return halteplatzabschnitt;
    }

    public void setHalteplatzabschnitt(HaltAbschnitt halteplatzabschnitt) {
        this.halteplatzabschnitt = halteplatzabschnitt;
    }
    // </editor-fold>

    @Override
    public String toString() {
        return String.format("<Signal %s>", this.name);
    }

}
